﻿#pragma once
/**
@author 何炜
@date 2011/4/27
@brief .
@details
*/

#define GLL_HashMap boost::unordered_map//stdext::hash_map
#define GLL_Any boost::any
#define GLL_Anycast boost::any_cast
#define GLL_Mutex boost::recursive_mutex

#define nullindex 0
#define nullid 0
#define nullptr 0

namespace GLL
{
	//标准简化
	typedef unsigned char		utf8;
	typedef unsigned char		uchar;
	typedef unsigned int		uint;///<int在32和64位电脑上，都是32位.
	typedef unsigned long		ulong;///<long在64位下是64位.
	typedef unsigned short	ushort;
	typedef __int64				int64;
	typedef unsigned __int64	uint64;


	//简单引申
	typedef ulong	Index;///<索引类（自然数）.
	typedef uint		utf32;
	typedef ulong	General_ID;
	typedef void*	Pointer;
	typedef ulong TimeMS; //time millionseconde(minus is posible)

	typedef std::vector<int> IntVec;
	typedef std::vector<float> FloatVec;
	typedef std::vector<General_ID> IDVec;


};//GLL

#include "GLLVector.h"
#include "GLLCombo2in1.h"